
package com.insigma.business.qrcode.merchant._consumer;



import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.OpenMerchantInfoDTO;
import com.insigma.business.qrcode.soldier.dto.SimpleApiRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.merchant.dto.request.CareWelfareMerchantInfoSearchRequest;
import com.insigma.business.qrcode.welfare.dto.CareScanMerchantInfoResult;
import com.insigma.business.qrcode.welfare.dto.CareMerchantStats;
import com.insigma.business.qrcode.welfare.dto.CareWelfareMerchantInfoDTO;
import com.insigma.business.qrcode.welfare.dto.MarketingSpotMeterialDetailBO;
import com.insigma.business.qrcode.welfare.dto.SoldierUserInfoDTO;

import java.util.List;


public interface CareWelfareMerchantInfoConsumer {
    BaseResponse<CareMerchantStats> getMerchantStats(SimpleApiRequest request);

    BasePagingResponse<List<CareWelfareMerchantInfoDTO>> searchCareWelfareMerchantInfo(final CareWelfareMerchantInfoSearchRequest searchRequest);

    BaseResponse<CareWelfareMerchantInfoDTO> getCareWelfareMerchantInfo(final BaseGetRequest baseGetRequest);

    BaseResponse<CareWelfareMerchantInfoDTO> getCachedCareWelfareMerchantInfo(final BaseGetRequest baseGetRequest);

    BaseResponse<Integer> deleteCareWelfareMerchantInfo(final BaseDeleteRequest deleteRequest);

    BaseResponse<Boolean> publishWelfareMerchantInfo(SimpleApiRequest request);

    BasePagingResponse<List<CareWelfareMerchantInfoDTO>> searchMerchantInfoBySoldier(CareWelfareMerchantInfoSearchRequest careWelfareMerchantInfoSearchRequest);

    BasePagingResponse<List<CareWelfareMerchantInfoDTO>> searchMerchantInfoWithoutAuth(final CareWelfareMerchantInfoSearchRequest careWelfareMerchantInfoSearchRequest);

    BaseResponse<MarketingSpotMeterialDetailBO> queryJZDYFMemberJumpInfo(SimpleApiRequest request);

    BaseResponse<MarketingSpotMeterialDetailBO> queryMMCSMemberJumpInfo(SimpleApiRequest request);

    BaseResponse<SoldierUserInfoDTO> queryWestLakeInfo(SimpleApiRequest request);

    BaseResponse<MarketingSpotMeterialDetailBO> queryTpybxMemberJumpInfo(SimpleApiRequest request);

    BaseResponse<SoldierUserInfoDTO> queryWestLakeInfoByIdCardNo(SimpleApiRequest request);

    BasePagingResponse<List<OpenMerchantInfoDTO>> searchOpenMerchantInfo(final CareWelfareMerchantInfoSearchRequest careWelfareMerchantInfoSearchRequest);

    BaseResponse<List<String>> listAllPublishedMerchant(final CareWelfareMerchantInfoSearchRequest careWelfareMerchantInfoSearchRequest);

    BaseResponse<CareScanMerchantInfoResult> scanMerchantQr(SimpleApiRequest request);

    BaseResponse<CareScanMerchantInfoResult> getMerchantUserMatchInfo(SimpleApiRequest request);


}
